package br.com.dyad.commons.data;

import java.util.ArrayList;

import br.com.dyad.commons.data.events.EntityPropertyListener;


public interface AppEntity {	
	public Object getOldValue(String property);	
	
	/**
	 * Esse método deve ser usado para criar um registro de uma determinada licença. Foi adicionado
	 * o parâmetro rangeId apenas para diferenciar a assinatura do método createId( String database, Long rangeId )
	 * @param database
	 * @param licenseId
	 * @param rangeKey
	 * @throws Exception
	 */
	public void createId(String database, Long licenseId, Long rangeKey ) throws Exception;
	
	public void createId(String database, Long rangeKey ) throws Exception;
	
	public Long getId();
	
	//-- get e set dos listeners da entidade.
	public void setEntityPropertyListener(ArrayList<EntityPropertyListener> listeners);	
	public ArrayList<EntityPropertyListener> getEntityPropertyListener();
}
